var BASE_URL = "http://hdskadmin.chengxin56.net/";
// const API_SERVER_URL = 'http://114.118.99.244:8006/api/website/'
const API_SERVER_URL = 'http://36.134.155.9:8006/api/website/'
// const API_SERVER_URL = 'http://192.168.2.13:8006/api/website/'
//const API_SERVER_URL = 'http://114.118.99.244:8006/api/website/'
// const API_SERVER_URLS = 'ws://114.118.99.244:8006/webSocket/'
const API_SERVER_URLS = 'ws://36.134.155.9:8006/webSocket/'
// const API_SERVER_URL ='http://192.168.0.146:8006/api/website/'

const API_URL_QQT = 'http://121.41.27.157:8080/' // 全球通接口地址
const API_URL_SHWL = 'http://bigdataapi.shunhe3pl.cn/' // 顺和物联接口地址
const API_URL_DSLY = 'http://dslytest.shunhe3pl.cn/' // 多式联运接口地址
const API_URL_BEIDOU = 'http://beidou.shunhe3pl.cn/' // 北斗轨迹接口地址
const API_URL_PJZ = 'http://pjztest.shunhe3pl.cn/' // 配积载接口地址
const WS_URL_DSLY = 'ws://dslytest.shunhe3pl.cn:8282' // 多式联运websocket地址
const WS_URL_BEIDOU = 'ws://116.62.222.147:8749' // 北斗车辆调度websocket地址


// var script = document.createElement("script");
// script.type = "text/javascript";
// script.src = "../jquery/jquery-3.1.1.min.js";
// document.getElementsByTagName('head')[0].appendChild(script);


// 时间格式化
function formatterDate(date, fmt) {
	let nowDate = {
		yyyy: date.getFullYear(), // 年
		MM: date.getMonth() + 1, // 月份
		dd: date.getDate(), //日
	}
	if (/(y+)/.test(fmt)) {
		fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
	}
	for (var k in nowDate) {
		if (new RegExp("(" + k + ")").test(fmt)) {
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (nowDate[k]) : (("00" + nowDate[k]).substr(("" +
				nowDate[k]).length)));
		}
	}
	return fmt;
}

// 2023-02-02 11:21:36
function getDateNow() {
	const date = new Date()
	const Y = date.getFullYear()
	const M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
	const D = date.getDate()

	// 下边是小时、分、秒
	const H = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() // 小时
	const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() // 分钟
	const S = date.getSeconds() // 秒

	return `${Y}-${M}-${isAddZero(D)} ${H}:${m}:${S}`
}

// 下边这个方法是判断时间是否小于10，小于10 前边加0，更加规范一些，看自己需求
function isAddZero(time) {
	let str = ''
	str = time < 10 ? '0' + time : time.toString()
	return str
}

// 生成7天的日期数据
function gen7DaysData() {
	// 模拟数据
	let time = []

	// 需要的日期数据
	let date = new Date()
	let year = date.getFullYear()
	let month = (date.getMonth() + 1).toString().padStart(2, '0')
	let day = date.getDate()
	let hour = date.getHours()
	let oneDay = 24 * 60 * 60 * 1000

	for (let i = 0; i < 7; i++) {
		let old_day = day - i
		time.push(formatterDate(new Date(Date.now() - i * oneDay), "MM-dd"))
	}
	return time
}

// 获取最近六个月
function getLastSixMon() {
	var data = new Date();
	//获取年
	var year = data.getFullYear();
	//获取月
	var mon = data.getMonth() + 1;
	var arry = new Array();
	for (var i = 0; i < 6; i++) {
		if (mon <= 0) {
			year = year - 1;
			mon = mon + 12;
		}
		if (mon < 10) {
			mon = "0" + mon;
		}
		arry[i] = year + "-" + mon;
		mon = mon - 1;
	}
	return arry;
}

// json转为字符串
function json2Str(jsonObj) {
	return JSON.stringify(jsonObj);
}

// 字符串转为json
function str2Json(jsonStr) {
	if (typeof jsonStr == 'object') return jsonStr
	return JSON.parse(jsonStr)
}

function bd2Gps84(bd) {
	if (!bd || !bd.lat || !bd.lng) {
		return { lat: '0', lng: '0' }
	}
	let lngLat = { lat: '0', lng: '0' }
	let latIndex = bd.lat.indexOf('.')
	let latInt = bd.lat.slice(0, latIndex - 2)
	let latDec = bd.lat.slice(latIndex - 2, bd.lat.length)
	let lngIndex = bd.lng.indexOf('.')
	let lngInt = bd.lng.slice(0, lngIndex - 2)
	let lngDec = bd.lng.slice(lngIndex - 2, bd.lng.length)

	lngLat.lat = latInt / 1.0 + latDec / 60.0
	lngLat.lng = lngInt / 1.0 + lngDec / 60.0

	// console.log("latInt = ", latInt);
	// console.log("latDec = ", latDec);
	// console.log("lngInt = ", lngInt);
	// console.log("lngDec = ", lngDec);
	// console.log("lat = ", lngLat.lat);
	// console.log("lon = ", lngLat.lng);
	return lngLat
}

// 高德官方:gps转高德
function gpsToGcj02(gps) {
	// var gps = [116.3, 39.9]; // 需要转换的gps类型的坐标
	// 参数说明：需要转换的坐标，需要转换的坐标类型，转换成功后的回调函数
	AMap.convertFrom(gps, 'gps', function(status, result) {
		if (result.info === 'ok') {
			let lnglats = result.locations // 转换后的高德坐标 Array.<LngLat> 
			console.log('lnglats = ', lnglats);
		}
	});
}

// Promise版
function gps2Gcj02(gps) {
	// var gps = [118.123, 35.123] // 需gps坐标格式
	return new Promise((resolve, reject) => {
		AMap.convertFrom(gps, 'gps', function(status, result) {
			if (result.info === 'ok') {
				let lnglats = result.locations // 转换后的高德坐标 Array.<LngLat> 
				resolve(lnglats)
			}
		});
	})
}

var PI = 3.1415926535897932384626
var a = 6378245.0
var ee = 0.00669342162296594323

// 同步方案:84 to 火星坐标系 (GCJ-02)
function wgs84ToGcj02(lat, lon) {
	let dLat = transformLat(lon - 105.0, lat - 35.0)
	let dLon = transformLon(lon - 105.0, lat - 35.0)
	let radLat = lat / 180.0 * PI
	let magic = Math.sin(radLat)
	magic = 1 - ee * magic * magic
	let sqrtMagic = Math.sqrt(magic)
	dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * PI)
	dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * PI)
	let mgLat = lat + dLat
	let mgLon = lon + dLon
	return { lat: mgLat, lng: mgLon }
}

function transformLat(x, y) {
	let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x))
	ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0
	ret += (20.0 * Math.sin(y * PI) + 40.0 * Math.sin(y / 3.0 * PI)) * 2.0 / 3.0
	ret += (160.0 * Math.sin(y / 12.0 * PI) + 320 * Math.sin(y * PI / 30.0)) * 2.0 / 3.0
	return ret
}

function transformLon(x, y) {
	let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x))
	ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0
	ret += (20.0 * Math.sin(x * PI) + 40.0 * Math.sin(x / 3.0 * PI)) * 2.0 / 3.0
	ret += (150.0 * Math.sin(x / 12.0 * PI) + 300.0 * Math.sin(x / 30.0 * PI)) * 2.0 / 3.0
	return ret
}

// 同步方案:百度坐标转高德 baidu_convent_gaode('119.663664,26.631896') //119.65722687547664,26.62567542001424
function bd09ToGcj02(bd_lng, bd_lat) {
	// let arr = points.split(",")
	// let bd_lng = arr[0]
	// let bd_lat = arr[1]
	let pi = 3.14159265358979324 * 3000.0 / 180.0
	let x = bd_lng - 0.0065
	let y = bd_lat - 0.006
	let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * pi)
	let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * pi)
	let gd_lng = z * Math.cos(theta)
	let gd_lat = z * Math.sin(theta)
	let data = gd_lng + "," + gd_lat
	return [gd_lng, gd_lat]
}

// promise封装ajax
function ajax(url, type = 'GET', data = {}, isLog = false) {
	return new Promise((resolve, reject) => {
		$.ajax({
			type,
			url,
			data,
			dataType: "json",
			// dataType: 'jsonp',  // 请求方式为jsonp
			success: function(data) {
				if (isLog) {
					console.log(`接口 ${url} success！`)
				}
				resolve(data);
			},
			error: function(err) {
				if (isLog) {
					console.log(`接口 ${url} error！`)
				}
				reject(err)
			}
		})
	})
}

// promise封装ajax（jsonp解决前端跨域问题，只支持GET请求方式）
function ajaxp(url, type = 'GET', data = {}, isLog = false) {
	return new Promise((resolve, reject) => {
		$.ajax({
			type,
			url,
			data,
			// dataType: "json",
			dataType: 'jsonp', // 请求方式为jsonp
			success: function(data) {
				if (isLog) {
					console.log(`接口 ${url} success！`)
				}
				resolve(data)
			},
			error: function(err) {
				if (isLog) {
					console.log(`接口 ${url} error！`)
				}
				reject(err)
			}
		})
	})
}

// promise封装ajax,加载本地json文件
function getJsonByFile(json_file) {
	return new Promise((resolve, reject) => {
		$.getJSON(json_file, e => {
			resolve(e)
		})
	})
}